向指定的地址和端口发送数据。用于SOCK_DGRAM
类型的socket
。
Coroutine\Socket->sendto(string $address, int $port, string $data) : int | false;
此方法没有协程调度,底层会立即调用sendto
向目标主机发送数据。此方法不会监听可写,sendto
可能会因为缓存区已满而返会false
,需要自行处理。或者使用send
方法
$address
:目标主机的IP
地址或UnixSocket
路径,sendto
不支持域名,使用AF_INET
或AF_INET6
时,必须传入合法的IP
地址,否则发送会返回失败$port
:目标主机的端口,发送广播时可以为0
$data
:发送的数据,可以为文本或二进制内容,请注意SOCK_DGRAM
发送包的最大长度为64K
- 发送成功返回发送的字节数
- 发送失败返回
false
,并设置errCode
属性
$socket = new Co\Socket(AF_INET, SOCK_DGRAM, 0);
$socket->sendto('127.0.0.1', 9601, "HELO");